home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 17 / AMIGAplus Sonderheft 17 (1999)(ICP)(DE)[!].iso / Rexx / SelectParts.AmiCAD < prev    next >
Text File  |  1998-08-08  |  2KB  |  69 lines

  1. /* Sélection des composants du type sélectionné ou spécifié
  2.    © R.Florac, Chez Corbin, 19 mars 1998, v1.00
  3.    Version 1.01, 20 avril 1998 (ajout affichage type d'élément)
  4.    Version 1.02, 27 avril 1998 (ajout rectangles)
  5.    Version 1.03, 1er juin 1998 (signalisation jokers)
  6.    $VER: SelectParts.AmiCAD 1.03 (© R.Florac, 1 juin 1998) */
  7.  
  8. options results     /* indispensable pour récupérer le résultat des macros */
  9.  
  10. signal on error     /* pour l'interception des erreurs */
  11. signal on syntax
  12.  
  13. 'FIRSTSEL'; objet = result
  14. if objet = 0 then do
  15.     'COMPOSANT=ASK("Quel est le nom du"+CHR(10)+"composant recherché ?"+CHR(10)+"Vous pouvez utiliser"+CHR(10)+"les jokers pour étendre"+CHR(10)+"la recherche (Ex: Diod#?)")'
  16.     part=result
  17.     if part="" then exit
  18. end
  19. else do
  20.     'COMPOSANT=PARTNAME('objet')'
  21.     part=result
  22.     if part="" then do
  23.     'TYPE('objet')'; type=result
  24.     'SECURITY(OBJECTS(-1)+10):FOR(I=1:N=0,I<=OBJECTS(-1),IF(TYPE(I)=='type',MARK(I):N=N+1,0),I=I+1)'
  25.     'N'; n=result
  26.     affichage(n,type)
  27.     exit
  28.     end
  29. end
  30. 'SECURITY(OBJECTS(-1)+10):N=0:I=0:WHILE(I=IF(I+1<=OBJECTS(-1),FINDPART(I+1,COMPOSANT),0),MARK(I):N=N+1)'
  31. 'N'; n=result
  32. affichage(n,1)
  33.  
  34. exit
  35.  
  36. affichage: procedure expose part
  37.     parse arg nombre, type
  38.     select
  39.     when type = 1 then element = part
  40.     when type = 2 then element = "fil de liaison"
  41.     when type = 3 then element = "arc de cercle"
  42.     when type = 4 then element = "texte"
  43.     when type = 5 then element = "référence de composant"
  44.     when type = 6 then element = "valeur de composant"
  45.     when type = 7 then element = "connexion"
  46.     when type = 8 then element = "fil en pointillé"
  47.     when type = 9 then element = "bus"
  48.     when type = 10 then element = "ellipse"
  49.     when type = 11 then element = "connecteur d'entrée"
  50.     when type = 12 then element = "connecteur de sortie"
  51.     when type = 15 then element = "trait double"
  52.     when type = 21 then element = "ligne personnalisée"
  53.     when type = 22 then element = "rectangle"
  54.     otherwise element = "élément"
  55.     end
  56.     'MESSAGE("Type d''élément sélectionné:"+CHR(10)+"'element'"+CHR(10)+"Quantité trouvée: 'nombre'")'
  57.     exit
  58. end
  59.  
  60. /* Traitement des erreurs, interruption du programme */
  61. syntax:
  62. erreur=RC
  63. 'MESSAGE("Script SelectParts"+CHR(10)+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  64. exit
  65.  
  66. error:
  67. 'MESSAGE("Script SelectParts"+CHR(10)+"Erreur en ligne 'SIGL'")'
  68. exit
  69.